package com.ruc.deke.dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import com.ruc.deke.model.DBRecord;

/**
 * 对于试卷/题目的一些数据访问接口
 * 
 * @author: chengyijian
 * @date: 2017年9月20日 下午6:21:19
 */
public interface ExamDAO {

	/**
	 * 根据模块id获取相应模块的题目
	 * 
	 * @param moduleId
	 * @return
	 * @author: cyj
	 * @date: 2017年9月20日 下午6:23:58
	 */
	public ArrayList<DBRecord> getExamsByModuleId(int moduleId,String ano);

	/**
	 * 根据paperId获取相应的题目
	 * 
	 * @param paperId
	 * @return
	 * @author gyh_f
	 */
	public ArrayList<DBRecord> getQuestionsByPaperId(String paperId);

	/**
	 * @author gyh_f
	 * @param moduleId,
	 *            ano
	 * @return
	 */
	public ArrayList<DBRecord> getPaperListByTeacherId(int moduleId, String ano);

	/**
	 * @author gyh_f
	 * @param moduleId,
	 *            ano
	 * @return
	 */
	public ArrayList<DBRecord> getExplistByAnoAndModuleId(int moduleId, String ano);

	//获取所选题目信息
	public ArrayList<DBRecord> getExpByQuestionIdAndModuleId(int questionId,int moduleId);
		
	/**
	 * 向paper_exp 中添加试题
	 * 
	 * @param connection
	 * @param record
	 * @return
	 * @author: cyj
	 * @date: 2017年9月26日 上午12:04:24
	 */
	public String insertPaperExp(Connection connection, DBRecord record);

	public String insertPaperInfo(Connection connection, DBRecord record);

	public String updatePaperInfo(Connection conn, DBRecord newRecord, DBRecord conditions) throws SQLException;

	public ArrayList<DBRecord> getScene();

	/**
	 * @author gyh_f
	 * @return
	 */
	public Boolean insertNewExp(int moduleId, String edesc, String solution, String extra, String ano,int befmoduleId,int befexpid,int sceneId);
	
	//修改题目信息
	//public Boolean changeExp(int moduleId, String edesc, String solution, String extra,int questionId);
	public Boolean changeExp(String edesc,String solution,String type,int questionId);
	
	//删除试卷
	public Boolean delPaper(String paperId,String teacherId);
	public ArrayList<DBRecord> getscene();
	public Boolean delExps(int questionId,int moduleId);
}
